/**
 * 
 */
package com.wolfpire.info.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wolfpire.system.common.Constants;
import com.wolfpire.system.common.UnCover;

/**
 * 教科研情况
 * @author lihd
 *
 */

@Entity
@Table(name = "t_tea_sci_research_info")
public class TeaSciResearchInfo implements Serializable {
	
	private static final long serialVersionUID = -1441982572100072552L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", unique = true, nullable = false, length = 16)
	private Long id;//主键Id
	
	@Column(name = "start_year", length = 5)
	private Integer startYear; //起始时间
	
	@Column(name = "end_year", length = 5)
	private Integer endYear; //结束时间
	
	/****************************教学成果奖（项） ****************************/
	@Column(name = "national_prize", length = 8)
	private Integer nationalPrize; //国家级
	
	@Column(name = "provincial_prize", length = 8)
	private Integer provincialPrize; //省级
	
	@Column(name = "city_prize", length = 8)
	private Integer cityPrize;//设区市级
	/***********************************************************************/
	
	/****************************主持科研项目及经费**************************/
	@Column(name = "item_count", length = 8)
	private Integer itemCount;//项目总数(项)
	
	@Column(name = "national_item_count", length = 8)
	private Integer nationalItemCount; //国家级(项)
	
	@Column(name = "provincial_item_count", length = 8)
	private Integer provincialItemCount; //省级(项)
	
	@Column(name = "department_item_count", length = 8)
	private Integer departmentItemCount; //设区市/厅级(项)
	
	@Column(name = "item_funds", length = 9)
	private String itemFunds;//立项科研经费(万元)
	/***********************************************************************/
	
	/******************************专利数（项）******************************/
	@Column(name = "patent_num", length = 8)
	private Integer patentNum; //合计
	
	@Column(name = "invention_patent", length = 8)
	private Integer inventionPatent; //发明专利	
	
	@Column(name = "utility_model_patent", length = 8)
	private Integer utilityModelPatent; //实用新型专利
	
	@Column(name = "design_patent", length = 8)
	private Integer designPatent;//外观设计专利
	/***********************************************************************/
	
	@Column(name = "se_item_count", length = 8)
	private Integer seItemCount; //校企对接科技成果项目数（项）
	
	/*********************主持项目获科技进步奖（项）**************************/
	@Column(name = "national_level", length = 8)
	private Integer nationalLevel; //国家三等奖以上
	
	@Column(name = "pro_fir_level", length = 8)
	private Integer proFirLevel; //省一等奖
	
	@Column(name = "pro_sec_level", length = 8)
	private Integer proSecLevel; //省二等奖
	
	@Column(name = "pro_third_level", length = 8)
	private Integer proThirdLevel; //省三等奖
	
	@Column(name = "city_fir_level", length = 8)
	private Integer cityFirLevel; //市一等奖
	
	@Column(name = "city_sec_level", length = 8)
	private Integer citySecLevel; //市二等奖
	
	@Column(name = "city_third_level", length = 8)
	private Integer cityThirdLevel; //市三等奖
	/***********************************************************************/
	
	@Column(name = "create_user_id", length = 16)
	private Long createUserId; //创建用户Id
	
	@Column(name = "create_user_name", length = 50)
	private String createUserName; //创建用户名称
	
	@UnCover
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "create_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")  
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
	private Date createTime = new Date();//创建时间
	
	@Column(name = "del_flag", length = 1)
	private Integer delFlag = Constants.NORMAL_FLAG;

	public TeaSciResearchInfo() {
		super();
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Integer getStartYear() {
		return startYear;
	}

	public void setStartYear(Integer startYear) {
		this.startYear = startYear;
	}

	public Integer getEndYear() {
		return endYear;
	}

	public void setEndYear(Integer endYear) {
		this.endYear = endYear;
	}

	public Integer getNationalPrize() {
		return nationalPrize;
	}

	public void setNationalPrize(Integer nationalPrize) {
		this.nationalPrize = nationalPrize;
	}

	public Integer getProvincialPrize() {
		return provincialPrize;
	}

	public void setProvincialPrize(Integer provincialPrize) {
		this.provincialPrize = provincialPrize;
	}

	public Integer getCityPrize() {
		return cityPrize;
	}

	public void setCityPrize(Integer cityPrize) {
		this.cityPrize = cityPrize;
	}

	public Integer getItemCount() {
		return itemCount;
	}

	public void setItemCount(Integer itemCount) {
		this.itemCount = itemCount;
	}

	public Integer getNationalItemCount() {
		return nationalItemCount;
	}

	public void setNationalItemCount(Integer nationalItemCount) {
		this.nationalItemCount = nationalItemCount;
	}

	public Integer getProvincialItemCount() {
		return provincialItemCount;
	}

	public void setProvincialItemCount(Integer provincialItemCount) {
		this.provincialItemCount = provincialItemCount;
	}

	public Integer getDepartmentItemCount() {
		return departmentItemCount;
	}

	public void setDepartmentItemCount(Integer departmentItemCount) {
		this.departmentItemCount = departmentItemCount;
	}

	public String getItemFunds() {
		return itemFunds;
	}

	public void setItemFunds(String itemFunds) {
		this.itemFunds = itemFunds;
	}

	public Integer getPatentNum() {
		return patentNum;
	}

	public void setPatentNum(Integer patentNum) {
		this.patentNum = patentNum;
	}

	public Integer getInventionPatent() {
		return inventionPatent;
	}

	public void setInventionPatent(Integer inventionPatent) {
		this.inventionPatent = inventionPatent;
	}

	public Integer getUtilityModelPatent() {
		return utilityModelPatent;
	}

	public void setUtilityModelPatent(Integer utilityModelPatent) {
		this.utilityModelPatent = utilityModelPatent;
	}

	public Integer getDesignPatent() {
		return designPatent;
	}

	public void setDesignPatent(Integer designPatent) {
		this.designPatent = designPatent;
	}

	public Integer getSeItemCount() {
		return seItemCount;
	}

	public void setSeItemCount(Integer seItemCount) {
		this.seItemCount = seItemCount;
	}

	public Integer getNationalLevel() {
		return nationalLevel;
	}

	public void setNationalLevel(Integer nationalLevel) {
		this.nationalLevel = nationalLevel;
	}

	public Integer getProFirLevel() {
		return proFirLevel;
	}

	public void setProFirLevel(Integer proFirLevel) {
		this.proFirLevel = proFirLevel;
	}

	public Integer getProSecLevel() {
		return proSecLevel;
	}

	public void setProSecLevel(Integer proSecLevel) {
		this.proSecLevel = proSecLevel;
	}

	public Integer getProThirdLevel() {
		return proThirdLevel;
	}

	public void setProThirdLevel(Integer proThirdLevel) {
		this.proThirdLevel = proThirdLevel;
	}

	public Integer getCityFirLevel() {
		return cityFirLevel;
	}

	public void setCityFirLevel(Integer cityFirLevel) {
		this.cityFirLevel = cityFirLevel;
	}

	public Integer getCitySecLevel() {
		return citySecLevel;
	}

	public void setCitySecLevel(Integer citySecLevel) {
		this.citySecLevel = citySecLevel;
	}

	public Integer getCityThirdLevel() {
		return cityThirdLevel;
	}

	public void setCityThirdLevel(Integer cityThirdLevel) {
		this.cityThirdLevel = cityThirdLevel;
	}

	public Long getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}
	
}
